package com.serkol.ams.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.serkol.ams.bean.MyPage;
import com.serkol.ams.entity.UsersWalletLog;
import com.serkol.ams.entity.UsersWalletWithdrawal;
import com.serkol.wx.bean.TiChengMsg;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
* @author pingan
* @description 针对表【users_wallet_log】的数据库操作Service
* @createDate 2022-09-27 12:06:15
*/
public interface UsersWalletLogService extends IService<UsersWalletLog> {

    MyPage<UsersWalletLog> findByMyList(int pageSize, int current, int state);
    MyPage<Map<String, Object>> findByBackLogList(int pageSize, int current, int state, long userId);
    MyPage<Map<String, Object>> findByPageLogList(int pageSize, int current, int state, String name, int type, long userId);

    Map<String, Object> myWalletLogStastica(Date startDate, Date endDate);

    Map<String, Object> teamWalletLogStastica(Date startDate, Date endDate);

    Map<String, Object> myWalletStastica(long userId);

    Map<String, Object> myIncomeExpenses();

    List<Map<String, Object>> myWalletStasticaOval();

    List<Map<String, Object>> findByNotifyList(Long userId);

    List<Map<String, Object>> findByLevelLogList(int state);

    List<UsersWalletLog> findByMyMiniList(int state, int current);

    boolean withdrawalStatus(UsersWalletWithdrawal withdrawal);

    List<Map<String, Object>> financeChartStastic();

    List<Map<String, Object>> findByPerList(long userId);

    List<Map<String, Object>> findByPerUsersList(long userId, String date,boolean sameMonth,String replace);

    Map<String, Object> findByPerUser(long userId, String date, boolean sameMonth, String replace);

    List<TiChengMsg> getWxMsgs(Long orderId);
}
